/**
 * commonjs
 * @Author: TAO 1755885716@qq.com
 * @Date: 2022-10-31 11:23:04
 */
import muajax from './api.js';
import schemeCheck from './schemeCheck'
import Toast from './Toast.js';
const myfun={
	/**
	 * 格式化一个时间戳
	 * @param  {[type]} fmt 格式化方式   说明：
						Y   4位数字年，y为2位数字，如99即1999年
						m   数字月份，有前导0 M无前导0
						d   月份中的第几天，有前导0 D无前导0
						h   24小时格式，有前导0，H无前导0
						g   12小时格式，有前导0，G无前导0
						i   分钟格式，有前导0  I无前导0
						s   秒格式，有前导0  S无前导0
	 * @param  {[type]} s   需要 返回的时间参数  默认fmt
	 * @param  {[type]} tm   使用时间 默认当前时间
	 * @return {[type]}     [description]
	 */
	timef(tm,fmt,allobj){
		if(tm==='now'){ tm=new Date() }
		if(!tm){return ''}
		if (!fmt) { fmt='Y-m-d H:i:s' }
		var t = {       fmt       :        fmt        ||       'Y-m-d H:i:s'       };
		tm    = (isNaN(tm)||tm.constructor==Date)?tm:(parseInt(tm)*1000||new Date());
		var today=new Date(tm);
		t.time=	today.getTime();
		t.Y   =  today.getFullYear();
		t.y   =  (t.Y+'').slice(-2);
		t.M   =  today.getMonth()+1;
		t.m   =  t.M<10?"0"+t.M:t.M;
		t.D   =  today   .getDate();
		t.d   =  t.D<10?"0"+t.D:t.D;
		t.H   =  today  .getHours();
		t.h   =  t.H<10?"0"+t.H:t.H;
		t.G   =  t.H>12? t.H-12:t.H;
		t.g   =  t.G<10?"0"+t.G:t.G;
		t.I   =  today.getMinutes();
		t.i   =  t.I<10?"0"+t.I:t.I;
		t.S   =  today.getSeconds();
		t.s   =  t.S<10?"0"+t.S:t.S;
		t.K   =  today.getDay();
		t.fmt = t.fmt.replace(/Y/g,t.Y)
					 .replace(/y/g,t.y)
					 .replace(/M/g,t.M)
					 .replace(/m/g,t.m)
					 .replace(/D/g,t.D)
					 .replace(/d/g,t.d)
					 .replace(/H/g,t.H)
					 .replace(/h/g,t.h)
					 .replace(/G/g,t.G)
					 .replace(/g/g,t.g)
					 .replace(/I/g,t.I)
					 .replace(/i/g,t.i)
					 .replace(/S/g,t.S)
					 .replace(/s/g,t.s)
					 .replace(/K/g,['日','一','二','三','四','五','六'][t.K]);
		if (!!allobj) {return t; }
		return t.fmt;
	},
	/**
	 * 登录检查并获取用户信息  在onshow里执行 this.$user为用户信息
	 * @param readyfun 只在用户登录状态改变时运行的方法
	 * @param needlogin Boolean 是否必须登录 default false
	 * @return user
	 */
	checklogin(readyfun,needlogin=false){
		let user = uni.getStorageSync('user');
		this.$user=user;
		if(!user?.market){
			if(needlogin){
				uni.navigateTo({
					url:'/pages/login/login'
				})
			}
			this.islogin=false;
			return null;
		}
		if(this.islogin && !!user && !!readyfun){
			readyfun();
		}
		this.islogin=true;
		return user;
	},
	currentPath(){
		let pages = getCurrentPages(); // 获取页面指针数组
		console.log(pages)
		let currentPage = pages[pages.length - 1]; // 获取当前页
		return '/'+currentPage.route;
	},
};

export default {
	'$test': schemeCheck.test,
	'$checkData': schemeCheck.checkData,
	'toast':Toast,
	...myfun,
	install(Vue){
		Vue.config.globalProperties['muajax']=muajax;
		Vue.config.globalProperties['$test']=schemeCheck.test;
		Vue.config.globalProperties['$checkData']=schemeCheck.checkData;
		Vue.config.globalProperties['toast']=Toast;
		for(let key  in myfun){
			Vue.config.globalProperties['$'+key]=myfun[key];
		}
	}
};
